package com.atguigu.exam.service;

import com.atguigu.exam.entity.Question;
import com.atguigu.exam.vo.AiGenerateRequestVo;
import com.atguigu.exam.vo.GradingResult;
import com.atguigu.exam.vo.QuestionImportVo;

import java.util.List;

/**
 * Kimi AI服务接口
 * 用于调用Kimi API生成题目
 */
public interface KimiAiService {

    /**
     * 根据前台传递的上下文关系环境，生成对应的提示词
     * @param request
     * @return 提示词
     */
    String buildPrompt(AiGenerateRequestVo request);

    /**
     * 调用Kimi API生成题目
     * @param prompt
     * @return
     */
    String callKimiAi(String prompt) throws InterruptedException;


    /**
     *调用月之暗面api生成题目
     * @param request
     * @return 题目导入VO列表
     */
    List<QuestionImportVo> aiGenerateQuestions(AiGenerateRequestVo request) throws InterruptedException;

    /**
     * 使用ai，进行简答题判断
     * @param totalScore 总分数
     * @param maxScore 最大分数
     * @param questionCount 题目数量
     * @param correctCount 正确数量
     * @return
     */
    String buildSummary(Integer totalScore, Integer maxScore, Integer questionCount, Integer correctCount) throws InterruptedException;


    GradingResult gradingTextQuestion(Question question, String userAnswer, Integer maxScore) throws InterruptedException;







}